#ifndef __IPC_ALARM_CAPTURE_THREAD_INCLUDE__
#define __IPC_ALARM_CAPTURE_THREAD_INCLUDE__
#include <QThread>
#include <QQueue>
#include <QMutex>
#include <QWaitCondition>
#include "IPC_Radar_Protocol.h"

class IPCManager;
class IPCAlarmCaptureThread : public QThread {
	Q_OBJECT
public:
	IPCAlarmCaptureThread(QObject *parent = Q_NULLPTR);
	virtual ~IPCAlarmCaptureThread();
	void AddOneAlarm(RadarIPCCOMAlarmCMD_t param);

protected:
	void run();

private:
	void processOneAlarm(RadarIPCCOMAlarmCMD_t& AlarmParam);

private:
	QQueue<RadarIPCCOMAlarmCMD_t>	AlarmQueue;
	QMutex	AlarmQueueMutex;
	QWaitCondition	AlarmQueueNotEmptyCond;
	IPCManager* ipcMgr;

};


#endif